#!/usr/bin/env bash
set -e

DIR="$(cd "$(dirname "$0")/../Resources" && pwd)"
ARCH="$(uname -m)"

if [[ "$ARCH" == "arm64" ]]; then
  BINARY="$DIR/telemetry_monitor-darwin-arm64"
else
  BINARY="$DIR/telemetry_monitor-darwin-amd64"
fi

INSTALL_DIR="$HOME/.telemetry_monitor/bin"
INSTALL_BIN="$INSTALL_DIR/telemetry_monitor"
mkdir -p "$INSTALL_DIR"
cp -f "$BINARY" "$INSTALL_BIN"
chmod 755 "$INSTALL_BIN"

# Setup launchd agent
PLIST="$HOME/Library/LaunchAgents/com.telemetry_monitor.plist"
mkdir -p "$HOME/Library/LaunchAgents"

cat > "$PLIST" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.telemetry_monitor</string>
  <key>ProgramArguments</key>
  <array>
    <string>$INSTALL_BIN</string>
    <string>-ingest</string>
    <string>https://aiyoo.in:4443/jeeves/ingest</string>
    <string>-no-local-storage</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <true/>
  <key>StandardOutPath</key>
  <string>$HOME/Library/Logs/telemetry_monitor.log</string>
  <key>StandardErrorPath</key>
  <string>$HOME/Library/Logs/telemetry_monitor.log</string>
</dict>
</plist>
EOF

launchctl unload "$PLIST" 2>/dev/null || true
launchctl load "$PLIST"

osascript -e 'display dialog "Telemetry Monitor is installed and running in the background." with title "Telemetry Monitor" buttons {"OK"} default button "OK"' 2>/dev/null || true
